home *** CD-ROM | disk | FTP | other *** search
/ Programming in Microsoft Windows with C# / Programacion en Microsoft Windows con C#.iso / Codigo / Menús / StandardMenu / StandardMenu.cs next >
Encoding:
Text File  |  2002-06-19  |  4.4 KB  |  138 lines

  1. //-------------------------------------------
  2. // StandardMenu.cs ⌐ 2001 by Charles Petzold
  3. //-------------------------------------------
  4. using System;
  5. using System.Drawing;
  6. using System.Windows.Forms;
  7.  
  8. class StandardMenu: Form
  9. {
  10.      MenuItem miFileOpen, miFileSave;
  11.      MenuItem miEditCut, miEditCopy, miEditPaste;
  12.  
  13.           // Variables experimentales para c≤digo Popup
  14.  
  15.      bool bDocumentPresent  = true;
  16.      bool bNonNullSelection = true;
  17.      bool bStuffInClipboard = false;
  18.  
  19.      public static void Main()
  20.      {
  21.           Application.Run(new StandardMenu());
  22.      }
  23.      public StandardMenu()
  24.      {
  25.           Text = "Men· estßndar";
  26.           Menu = new MainMenu();
  27.  
  28.                // Archivo
  29.  
  30.           MenuItem mi = new MenuItem("&Archivo");
  31.           mi.Popup += new EventHandler(MenuFileOnPopup);
  32.           Menu.MenuItems.Add(mi);
  33.           int index = Menu.MenuItems.Count - 1;
  34.  
  35.                // Archivo Abrir
  36.  
  37.           miFileOpen = new MenuItem("&Abrir...");
  38.           miFileOpen.Click += new EventHandler(MenuFileOpenOnClick);
  39.           miFileOpen.Shortcut = Shortcut.CtrlA;
  40.           Menu.MenuItems[index].MenuItems.Add(miFileOpen);
  41.  
  42.                // Archivo Guardar
  43.  
  44.           miFileSave  = new MenuItem("&Guardar");
  45.           miFileSave.Click += new EventHandler(MenuFileSaveOnClick);
  46.           miFileSave.Shortcut = Shortcut.CtrlG;
  47.           Menu.MenuItems[index].MenuItems.Add(miFileSave);
  48.  
  49.                // Lφnea horizontal
  50.  
  51.           mi = new MenuItem("-");
  52.           Menu.MenuItems[index].MenuItems.Add(mi);
  53.  
  54.                // Archivo Salir
  55.  
  56.           mi = new MenuItem("&Salir");
  57.           mi.Click += new EventHandler(MenuFileExitOnClick);
  58.           Menu.MenuItems[index].MenuItems.Add(mi);
  59.  
  60.                // Edici≤n
  61.  
  62.           mi = new MenuItem("&Edici≤n");
  63.           mi.Popup += new EventHandler(MenuEditOnPopup);
  64.           Menu.MenuItems.Add(mi);
  65.           index = Menu.MenuItems.Count - 1;
  66.  
  67.                // Edici≤n Cortar
  68.  
  69.           miEditCut = new MenuItem("Cor&tar");
  70.           miEditCut.Click += new EventHandler(MenuEditCutOnClick);
  71.           miEditCut.Shortcut = Shortcut.CtrlX;
  72.           Menu.MenuItems[index].MenuItems.Add(miEditCut);
  73.  
  74.                // Edici≤n Copiar
  75.  
  76.           miEditCopy = new MenuItem("&Copiar");
  77.           miEditCopy.Click += new EventHandler(MenuEditCopyOnClick);
  78.           miEditCopy.Shortcut = Shortcut.CtrlC;
  79.           Menu.MenuItems[index].MenuItems.Add(miEditCopy);
  80.  
  81.                // Edici≤n Pegar
  82.  
  83.           miEditPaste = new MenuItem("&Pegar");
  84.           miEditPaste.Click += new EventHandler(MenuEditCopyOnClick);
  85.           miEditPaste.Shortcut = Shortcut.CtrlV;
  86.           Menu.MenuItems[index].MenuItems.Add(miEditPaste);
  87.  
  88.                // Ayuda
  89.  
  90.           mi = new MenuItem("&?");
  91.           Menu.MenuItems.Add(mi);
  92.           index = Menu.MenuItems.Count - 1;
  93.  
  94.                // Ayuda Acerca de
  95.  
  96.           mi = new MenuItem("&Acerca de StandardMenu...");
  97.           mi.Click += new EventHandler(MenuHelpAboutOnClick);
  98.           Menu.MenuItems[index].MenuItems.Add(mi);
  99.      }
  100.      void MenuFileOnPopup(object obj, EventArgs ea)
  101.      {
  102.           miFileSave.Enabled = bDocumentPresent;
  103.      }
  104.      void MenuEditOnPopup(object obj, EventArgs ea)
  105.      {
  106.           miEditCut.Enabled = bNonNullSelection;
  107.           miEditCopy.Enabled = bNonNullSelection;
  108.           miEditPaste.Enabled = bStuffInClipboard;
  109.      }
  110.      void MenuFileOpenOnClick(object obj, EventArgs ea)
  111.      {
  112.           MessageBox.Show("íEsto deberφa ser un cuadro de dißlogo Archivo Abrir!", Text);
  113.      }
  114.      void MenuFileSaveOnClick(object obj, EventArgs ea)
  115.      {
  116.           MessageBox.Show("íEsto deberφa ser un cuadro de dißlogo Archivo Guardar!", Text);
  117.      }
  118.      void MenuFileExitOnClick(object obj, EventArgs ea)
  119.      {
  120.           Close();
  121.      }
  122.      void MenuEditCutOnClick(object obj, EventArgs ea)
  123.      {
  124.           // Copia la selecci≤n al Portapapeles; elimina del documento.
  125.      }
  126.      void MenuEditCopyOnClick(object obj, EventArgs ea)
  127.      {
  128.           // Copia la selecci≤n al Portapapeles.
  129.      }
  130.      void MenuEditPasteOnClick(object obj, EventArgs ea)
  131.      {
  132.           // Copia los datos del Portapapeles en el documento.
  133.      }
  134.      void MenuHelpAboutOnClick(object obj, EventArgs ea)
  135.      {
  136.           MessageBox.Show("StandardMenu ⌐ 2001 por Charles Petzold", Text);
  137.      }
  138. }